package com.wang.sqlsession;

import java.sql.SQLException;
import java.util.List;

/**
 * Created by wangq on 2021/7/1.
 */
public interface SqlSession {
    /**
     * 增加数据
     *
     * @param statementId sql语句id
     * @param objects     添加实体
     */
    void create(String statementId, Object... objects) throws Exception;

    /**
     * 修改数据
     *
     * @param statementId sql语句id
     * @param objects     添加实体
     */
    void update(String statementId, Object... objects) throws Exception;


    /**
     * 删除数据
     *
     * @param statementId sql语句id
     * @param objects     添加实体
     */
    void delete(String statementId, Object... objects) throws Exception;

    /**
     * 查询所有
     *
     * @param statementId sql语句id
     * @param objects     查询参数
     * @param <E>         查询结果泛型
     * @return 查询结果
     */
    <E> List<E> selectList(String statementId, Object... objects) throws Exception;

    <T> T selectOne(String statementId, Object... objects) throws Exception;

    <T> T getMapper(Class<?> mapperClass);
}


